package com.example.demoamqp.send;

import com.example.demoamqp.conatants.Constants;
import com.example.demoamqp.entity.Order;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 消息发送者
 *
 * @author Administrator
 */
@Component
public class Sender {


    private AmqpTemplate rabbitAmqpTemplate;

    @Autowired
    public void setRabbitAmqpTemplate(AmqpTemplate rabbitAmqpTemplate) {
        this.rabbitAmqpTemplate = rabbitAmqpTemplate;
    }

    /*
     * 发送消息的方法
     */
    public void send(String msg) {
        System.out.println("向：ross_amq，发送了一条消息" + msg);
        //向消息队列发送消息
        //参数一：队列的名称。
        //参数二：消息
        this.rabbitAmqpTemplate.convertAndSend("ross_amq", msg);
    }


    /**
     * 想MQ发送点对点消息
     *
     * @param order 订单
     */
    public void sendSimple(Order order) {
        this.rabbitAmqpTemplate.convertAndSend(Constants.WORK_QUEUE, order);
    }
}